package com.credithc.fastdfs.api.mapper;

import java.util.HashMap;
import java.util.List;

import org.apache.ibatis.annotations.Param;

import com.credithc.fastdfs.api.entity.StorageHour;

/**
 * <br>
 * 类 名: StorageHourMapper <br>
 * 描 述: 以小时为单位的storage DB操作 <br>
 * 作 者: checkSun <br>
 * 创 建： 2015年6月19日 <br>
 * 版 本：v1.0.0 <br>
 * <br>
 * 历 史: (版本) 作者 时间 注释
 */
public interface StorageHourMapper {
	/**
	 * <br>
	 * 描 述：删除 <br>
	 * 作 者：checkSun <br>
	 * 历 史: (版本) 作者 时间 注释
	 * 
	 * @param id
	 * @return
	 */
	int deleteByPrimaryKey(String id);

	/**
	 * <br>
	 * 描 述：插入 <br>
	 * 作 者：checkSun <br>
	 * 历 史: (版本) 作者 时间 注释
	 * 
	 * @param storagehour
	 * @return
	 */
	int insert(@Param("storagehour") StorageHour storagehour);

	/**
	 * <br>
	 * 描 述：插入 <br>
	 * 作 者：checkSun <br>
	 * 历 史: (版本) 作者 时间 注释
	 * 
	 * @param record
	 * @return
	 */
	int insertSelective(StorageHour record);

	/**
	 * <br>
	 * 描 述：查询 <br>
	 * 作 者：checkSun <br>
	 * 历 史: (版本) 作者 时间 注释
	 * 
	 * @param id
	 * @return
	 */
	StorageHour selectByPrimaryKey(String id);

	/**
	 * <br>
	 * 描 述：更新 <br>
	 * 作 者：checkSun <br>
	 * 历 史: (版本) 作者 时间 注释
	 * 
	 * @param record
	 * @return
	 */
	int updateByPrimaryKeySelective(StorageHour record);

	/**
	 * <br>
	 * 描 述：更新 <br>
	 * 作 者：checkSun <br>
	 * 历 史: (版本) 作者 时间 注释
	 * 
	 * @param record
	 * @return
	 */
	int updateByPrimaryKey(StorageHour record);

	/**
	 * <br>
	 * 描 述：查询列表 <br>
	 * 作 者：checkSun <br>
	 * 历 史: (版本) 作者 时间 注释
	 * 
	 * @param smap
	 * @return
	 */
	List<StorageHour> getStorageByConditions(
			@Param("smap") HashMap<String, Object> smap);

	/**
	 * <br>
	 * 描 述：查询 <br>
	 * 作 者：checkSun <br>
	 * 历 史: (版本) 作者 时间 注释
	 * 
	 * @param smap
	 * @return
	 */
	StorageHour getStorageByConditionsTime(
			@Param("smap") HashMap<String, Object> smap);

	/**
	 * <br>
	 * 描 述：容量折线图 <br>
	 * 作 者：checkSun <br>
	 * 历 史: (版本) 作者 时间 注释
	 * 
	 * @param smap
	 * @return
	 */
	List<StorageHour> getStorageByConditionsForCapacityLines(
			@Param("smap") HashMap<String, Object> smap);
}